package com.travel.server.manager.api;

import com.travel.server.manager.dto.request.EmptyRequest;
import com.travel.server.manager.dto.request.article.*;
import com.travel.server.manager.dto.request.article.data.ExportArticleDataRequest;
import com.travel.server.manager.dto.request.article.data.QueryArticleDataRequest;
import com.travel.server.manager.dto.request.article.data.QuerySingleArticleDataRequest;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;

/**
 * @Author: LiZhenhui
 * @Date: 2018/12/20 11:47
 * @Desc:
 */
public interface IArticleService {

    /**
     * 1
     * @param request
     * @return
     */
    @RequestMapping(value = "query_article_list", method = RequestMethod.POST)
    Object queryArticleList(QueryArticleListRequest request);

    /**
     * 2
     * @param request
     * @return
     */
    @RequestMapping(value = "query_article_detail", method = RequestMethod.POST)
    Object queryArticleDetail(QueryArticleDetailRequest request);

    /**
     * 3
     * @param request
     * @return
     */
    @RequestMapping(value = "update_article", method = RequestMethod.POST)
    Object updateArticle(UpdateArticleRequest request);

    /**
     * 4
     * @param request
     * @return
     */
    @RequestMapping(value = "delete_article", method = RequestMethod.POST)
    Object deleteArticle(DeleteArticleRequest request);

    /**
     * 5
     * @param request
     * @return
     */
    @RequestMapping(value = "query_article_class_list", method = RequestMethod.POST)
    Object queryArticleClassList(QueryArticleClassListRequest request);

    /**
     * 6
     * @param request
     * @return
     */
    @RequestMapping(value = "update_article_class", method = RequestMethod.POST)
    Object updateArticleClass(UpdateArticleClassRequest request);

    /**
     * 7
     * @param request
     * @return
     */
    @RequestMapping(value = "delete_article_class", method = RequestMethod.POST)
    Object deleteArticleClass(DeleteArticleClassRequest request);

    /**
     * 8
     * @param request
     * @return
     */
    @RequestMapping(value = "query_article_data", method = RequestMethod.POST)
    Object queryArticleData(QueryArticleDataRequest request);

    /**
     * 9
     * @param request
     * @return
     */
    @RequestMapping(value = "export_article_data", method = RequestMethod.POST)
    Object exportArticleData(ExportArticleDataRequest request);

    /**
     * 10
     * @param request
     * @return
     */
    @RequestMapping(value = "query_single_article_data", method = RequestMethod.POST)
    Object querySingleArticleData(QuerySingleArticleDataRequest request);

    /**
     * 11
     * @param request
     * @return
     */
    @RequestMapping(value = "query_article_class_enum", method = RequestMethod.POST)
    Object queryArticleClassEnum(EmptyRequest request);
}
